﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using nutricion;
using Tablas;
namespace NutriFast
{
    public partial class Historial : Form
    {
        Patient pt;
        int p;
        float porcho, porlip, porpt;
        Interpretacion inte;
        public Historial(int paciente,float porcho,float porlip,float porpt)
        {
            InitializeComponent();
            p = paciente;
            this.porcho = porcho;
            this.porlip = porlip;
            this.porpt = porpt;
            llenarCalculos();
        }

        private void llenarCalculos(){
            System.Console.WriteLine("paciente"+p);
            pt=dbVic.crearPaciente(p);

            //LLenas las etiquetas.
            this.pi.Text = ""+(int)nutricion.Formulas.pesoIdeal(pt.Sex,pt.He);
            this.ps.Text = "Entre " + (int)nutricion.Formulas.pesoSaludableMin(pt.He) + " y " + (int)nutricion.Formulas.pesoSaludableMax(pt.He);
            this.imc.Text = "" + (int)nutricion.Formulas.IMC(pt.He, pt.Cw);
            this.icc.Text = "" + (float)nutricion.Formulas.ICC(pt.Ccint, pt.Ccad);
            this.ppt.Text = "" + (int)nutricion.Formulas.PPT(pt.Cw, pt.Sex, pt.He);
            this.habitual.Text = "" + (int)nutricion.Formulas.pesoHabitual(pt.Cw, pt.Hw);
            this.grasa.Text = "" + (int)nutricion.Formulas.grasa(pt.Bd, pt.He, pt.Cw, pt.Sex);
            this.mg.Text = "" + (int)nutricion.Formulas.masaGrasa(pt.Bd, pt.He, pt.Cw, pt.Sex, pt.Cw);
            this.ambd.Text = "" + (float)nutricion.Formulas.AMBD(pt.Cbrazo, pt.Sex, pt.Pct);
            this.pambd.Text = "" + (float)nutricion.Formulas.PAMBD(pt.Cbrazo, pt.Sex, pt.Pct);
            this.masaMuscular.Text = "" +(float) nutricion.Formulas.masaMuscular(pt.Cbrazo, pt.Sex, pt.Pct, pt.He);
            this.kt.Text = "" + (float)nutricion.Formulas.kilocalorias(pt.Sex, pt.Cw, pt.He, pt.Bd);

            //Macrominerales
            this.proteinas.Text = "" + (int)nutricion.Formulas.proteinas(porpt, nutricion.Formulas.kilocalorias(pt.Sex, pt.Cw, pt.He, pt.Bd));
            this.cho.Text = "" + (int)nutricion.Formulas.CHO(porcho, nutricion.Formulas.kilocalorias(pt.Sex, pt.Cw, pt.He, pt.Bd));
            this.lipidos.Text = "" + (int)nutricion.Formulas.lipidos(porlip, nutricion.Formulas.kilocalorias(pt.Sex, pt.Cw, pt.He, pt.Bd));

           // this.prueba.Text=""+Formulas.kilocaloriasGramoCho(dbVic.buscarPorcentajes("Kilo",dbVic.buscarDieta()),dbVic.buscarPorcentajes("cho",dbVic.buscarDieta()));
        }


       

        private void imc_Click(object sender, EventArgs e)
        {
            int peso = 0;
            inte = new Interpretacion();
            inte.dato.Text = "Indice de Masa Corporal";
            peso = int.Parse(this.imc.Text);

            if (peso > 50)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.severo;
            else if (peso > 40 && peso < 49.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.obeso;
            else if (peso > 35 && peso < 39.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.sobrepesossss;
            else if (peso > 30 && peso < 34.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.sobrepesossss;
            else if (peso > 27 && peso < 29.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.sobrepesossss;
            else if (peso > 25 && peso < 26.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.sobrepesossss;
            else if (peso > 18.5 && peso < 24.9)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.normal;
            else if(peso < 18.4)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.desnutricion;



            inte.descripcion.Text = Interpreta.IMC(peso);
            inte.ShowDialog();
        }

        private void icc_Click(object sender, EventArgs e)
        {
            float peso = 0;
            inte = new Interpretacion();
            inte.dato.Text = "Indice Cintura Cadera";
            peso = float.Parse(this.icc.Text);

            if (pt.Sex=="H"){
                Console.Write("entro");
                if(peso<0.78)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.ginecoide;
                else if(peso>0.78 && peso<0.93)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.normal;
                else if(peso>0.93)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.and;
            }
            else if(pt.Sex=="F"){

                if (peso < 0.71)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.ginecoide;
                else if (peso > 0.71 && peso < 0.84)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.normal;
                else if (peso > 0.84)
                    inte.pictureBox1.Image = NutriFast.Properties.Resources.and;
            }


            inte.descripcion.Text = Interpreta.ICC(peso,pt.Sex);
            inte.ShowDialog();
        }

        private void ppt_Click(object sender, EventArgs e)
        {
            int peso = 0;
            inte = new Interpretacion();
            inte.dato.Text = "Porcentaje de peso teórico";
            peso = int.Parse(this.ppt.Text);

            if (peso > 200)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.severo;
            else if (peso > 130 && peso < 199)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.obeso;
            else if (peso > 110 && peso < 129)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.sobrepesossss;
            else if (peso > 90 && peso < 109)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.normal;
            else if (peso > 80 && peso < 89)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.desnutricion;
            else if (peso > 70 && peso < 79)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.desnutricion;
            else if (peso < 69)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.desnutricion;



            inte.descripcion.Text = Interpreta.pesoTeorico(peso);
            inte.ShowDialog();
        }


        private void grasa_Click(object sender, EventArgs e)
        {
            int peso = 0;
            inte = new Interpretacion();
            inte.dato.Text = "Porcentaje de grasa";
            peso = int.Parse(this.grasa.Text);

            if (peso > 35)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.atencion;
            else 
                inte.pictureBox1.Image = NutriFast.Properties.Resources.Bien;
            

            inte.descripcion.Text = Interpreta.grasa(peso);
            inte.ShowDialog();
        }

        private void mg_Click(object sender, EventArgs e)
        {
            Interpretacion inte = new Interpretacion();
            inte.dato.Text = "Masa grasa";
            inte.descripcion.Text = "Sin interpretacion";
            inte.pictureBox1.Image = NutriFast.Properties.Resources.atencion;
            inte.ShowDialog();
        }

        private void ambd_Click(object sender, EventArgs e)
        {
            Interpretacion inte = new Interpretacion();
            inte.dato.Text = "Área Muscular Broquial Disponible";
            inte.descripcion.Text = "La interpretacion se busca en el porcentaje";
            inte.pictureBox1.Image = NutriFast.Properties.Resources.atencion;
            inte.ShowDialog();
        }

        private void pambd_Click(object sender, EventArgs e)
        {
            float peso = float.Parse(pambd.Text);
            Interpretacion inte = new Interpretacion();
            inte.dato.Text = "Porcentaje de Área Muscular Broquial Disponible";

            if(peso>80 && peso<90)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.leve;
            else if(peso>60 && peso<79)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.moderada;
            else if(peso<60)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.grave;


            inte.descripcion.Text = Interpreta.pambd(peso);
            inte.ShowDialog();
        }

        private void masaMuscular_Click(object sender, EventArgs e)
        {
            Interpretacion inte = new Interpretacion();
            inte.dato.Text = "Masa muscular total";
            inte.descripcion.Text = "Masa muscular total en Kilogramos";
            inte.pictureBox1.Image = NutriFast.Properties.Resources.muscular;
            inte.ShowDialog();
        }

        private void habitual_Click(object sender, EventArgs e)
        {
            int peso = 0;
            inte = new Interpretacion();
            inte.dato.Text = "Porcentaje de peso habitual";
            peso = int.Parse(this.habitual.Text);

            if (peso < 74)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.atencion;
            else if (peso > 95)
                inte.pictureBox1.Image = NutriFast.Properties.Resources.Bien;


            inte.descripcion.Text = Interpreta.pesoHabitual(peso);
            inte.ShowDialog();
        }
      

        private void pi_MouseClick(object sender, MouseEventArgs e)
        {
            inte = new Interpretacion();
            inte.dato.Text = "Peso Ideal";
            inte.pictureBox1.Image = NutriFast.Properties.Resources.ideal;
            inte.descripcion.Text = Interpreta.pesoIdeal();
            inte.ShowDialog();
        
        }

        private void ps_MouseClick(object sender, MouseEventArgs e)
        {
            inte = new Interpretacion();
            inte.dato.Text = "Peso Saludable";
            inte.pictureBox1.Image = NutriFast.Properties.Resources.saludable;            
            inte.descripcion.Text = Interpreta.pesoSaludable();
            inte.ShowDialog();
        }

       

      
    }
}
